/*
 * Copyright (c) 2022  by Junzhao
 * THIS FILE IS PART OF JAVASE Song Huongkang PROJECT
 * All Rights Reserved.
 */

package 日期与时间.JDK8之前;

import org.junit.Test;

import java.util.Date;

/**
 * @description  JDK8 之前的时间类
 * 1. java.lang.System类
 * System类提供的public static long currentTimeMillis()用来返回当前时
 * 间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。
 *  此方法适于计算时间差。
 * 计算世界时间的主要标准有：
 * UTC(Coordinated Universal Time) 协调世界时
 * GMT(Greenwich Mean Time)        格林威治标准时间
 * CST(Central Standard Time)      中央标准时间
 *
 * 2. java.util.Date类
 * 表示特定的瞬间，精确到毫秒
 *  构造器：
 *  Date()：使用无参构造器创建的对象可以获取本地当前时间。
 *  Date(long date)
 *  常用方法
 *  getTime():返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象
 * 表示的毫秒数。
 *  toString():把此 Date 对象转换为以下形式的 String： dow mon dd
 * hh:mm:ss zzz yyyy 其中： dow 是一周中的某一天 (Sun, Mon, Tue,
 * Wed, Thu, Fri, Sat)，zzz是时间标准。
 *  其它很多方法都过时了。
 *
 * @author 俊昭
 * @date 2022/4/16
*/
public class SystemTimeTest {

    @Test
    public void test2(){
        Date d1 = new Date();// 使用无参构造器创建的对象可以获取 当 前 时 间 。 java.util.Date
        System.out.println(d1.toString());// Sat Apr 16 16:12:45 CST 2022
        System.out.println(d1.getTime());// 相当于时间戳


//        Date d2 = new Date(2021,10,11);// 'Date(int, int, int)' 已被弃用

        Date d2 = new Date(1650097133434L);
        System.out.println(d2.toString());// 返回1650097133434L所对应的时间Sat Apr 16 16:18:53 CST 2022
        System.out.println(d2.getTime());// 1650097133434

        java.sql.Date d3 =new java.sql.Date(1650097133434L);
        System.out.println(d3.toString());// 2022-04-16


//        java.sql.Date 转Date
        Date d4 = d3;// 多态

//        Date 转 java.sql.Date
        d3 = new java.sql.Date(d2.getTime());
        System.out.println(d3.toString());// 2022-04-16





    }
    @Test
    public void test1(){
        // public static long currentTimeMillis()
        // 用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。称为时间戳
        long t1 = System.currentTimeMillis();
        System.out.println(t1);
        int sum=0;
        for (int i = 0; i < 100000; i++) {
            sum+=i;
        }
        long t2 = System.currentTimeMillis();

        System.out.println(t2);
        System.out.println(t2 - t1);
    }

}
